目 录
插图目录
图13-2 AIP0与AOP0/AOP1通过I2S/PCM接口主/从模式对接外置ADC/DAC示意图 13-3
图13-8 PCM 1/2/4/8/16路接收,在256fs,offset=1时的示例 13-6
表格目录
表13-2 AIAO寄存器概览(基址:0x0_17C0_0000) 13-7
表13-3 Audio Codec寄存器概览(基址:0x0_17C4_0000) 13-46
音频接口
AIAO
概述
音频输入输出接口AIAO(Audio Input/Audio Output),用于和片内或片外Audio Codec对接,完成音频数据的输入和输出,以实现录音、对讲、回放等功能。芯片内置1个AIAO,包含1个AIP(Audio Input Port)和2个AOP(Audio Output Port),支持立体声输入输出。AOP0和AOP1通过MUX选择输出实现与I2S管脚、内置Codec、HDMI在芯片内部对接,基本模块框图如图13-1所示。

说明
- 橙色表示模拟PHY
- 绿色表示管脚
- 蓝色表示AIAO_MUX_SEL寄存器
特点
AIAO接口支持I2S和PCM(Pulse Code Modulation)两种模式和外置Codec对接。
- AIAO接口支持I2S模式和内置Codec对接,内置Codec的寄存器配置参考13.2 Audio Codec章节。
- AIAO接口支持I2S模式和内置的HDMI TX对接。
接收(AIP0)和发送(AOP0/AOP1)均采用DMA操作,通过软件开辟的循环缓冲区存取数据,循环缓冲区大小和水线可调。
PCM模式
PCM模式有如下特点:
- 支持主模式/从模式。
- 支持1路8bit/16bit数据的发送。
- 支持1/2/4/8/16路8/16 bit数据的接收。
- 支持8KHz~96KHz采样率。
- PCM模式帧同步信号仅支持短脉冲同步信号(同步信号的持续时间为1个时钟周期),支持标准和自定义两种模式。
- 接收(AIP0)和发送(AOP0/AOP1)相互独立,可以单独使能或关闭。
I2S模式
i2s模式有如下特点:
- 支持主模式/从模式。
- AIP0既支持非时分复用模式下1路16bit/24bit数据的接收,也支持时分复用模式下2/4/8/16路8/16bit数据的接收。
- AOP0和AOP1均既支持时分复用模式下8路 16/24bit数据的发送,也支持非时分复用模式下的1/2/8路16/24bit数据的发送。
- 支持8KHz~96KHz采样率。
- 接收(AIP0)和发送(AOP0/AOP1)相互独立,可以单独使能或关闭。
功能描述
典型应用
芯片内置1个AIP和2个AOP,其中:
- AIP0/AOP 0/AOP 1对接内置Audio Codec时,仅支持I2S主模式
- AIP0支持I2S/PCM主/从模式对接外置Audio Codec
- AOP0/AOP1支持I2S/PCM主/从模式对接外置Audio Codec。
- AOP0/AOP1对接内置HDMI时,仅支持I2S主模式。
AIP0与AOP0/AOP1通过I2S/PCM接口主/从模式对接外置ADC/DAC示意图

功能原理
AIP0通过I2S接收对接外置ADC或内置的Audio Codec进行AD(Analog-to-Digital)转换后的音频数据,存入为AIP0开辟的循环缓冲区,然后由CPU取走并存储,从而完成录音功能。
AOP0/1从循环缓冲区中读取音频数据,然后按照设定的采样率,把音频数据通过I2S或PCM接口传送给外置DAC或内置的Audio Codec进行DA(Digital-to-Analog)转换内置;或者把音频数据通过I2S接口发送给对接内置的HDMI,通过HDMI接口进行声音播放。
对接外部i2s接口时,支持的I2S时序如图13-3。


I2S采用MSB FIRST方式传输,数据与WS信号使用BCLK的下降沿发出,在BCLK的上升沿采样。数据相对WS信号延迟一个BCLK周期。
对接外部PCM接口时,支持PCM标准时序和数据左对齐时序。标准时序如图13-5。

PCM模式采用MSB FIRST方式传输,数据与WS信号使用BCLK上升沿发出,在BCLK下降沿被采样。标准模式中数据相对于WS信号延迟一个BCLK周期。
PCM自定义模式时序如图13-6所示。

自定义模式时,数据与WS脉冲同拍开始发出。
I2S进行多路(2/4/8/16路8/16bit)接收时,数据分别放于I2S时序的左右声道,如图13-7所示。

注:1-channel模式仅在非时分复用时支持。
PCM模式下的多路接收,如图13-8所示。支持PCM标准和自定义两种模式,AIAO可以选择数据采样时刻(上升沿或下降沿)接收。图13-8中以上升沿为例。
PCM 1/2/4/8/16路接收,在256fs,offset=1时的示例
须知
注:1-channel模式仅在非时分复用时支持。
工作方式
时钟门控及时钟配置
在使能AIAO进行录音或播放时,必须先打开AIAO中对应通道(AIP/AOP)的时钟门控。具体步骤如下:
在系统PERI_CRG10784寄存器中aiao_pll_cksel配置为1,选择786.432MHz时钟源。
在系统PERI_CRG10784寄存器中,配置aiao_srst_req寄存器为0,解除AIAO复位,配置aiao_pll_cken寄存器为1,打开时钟门控。
在AIAO中AIAO_MUX_SEL寄存器中,配置时钟和数据的MUX关系。
配置分频系数。
配置AIAO寄存器的I2S_CRG_CFG0_00、I2S_CRG_CFG1_00 /I2S_CRG_CFG0_08、I2S_CRG_CFG1_08/I2S_CRG_CFG0_09、I2S_CRG_CFG1_09。选择合适的分频系数。CRG和AIP、AOP的对应关系见AIAO 框图。
----结束
软复位
AIAO内部的3个通道(AIP0、AOP0、AOP1)支持独立的软复位,当复位AIAO模块时,3条通道同时复位。
AIAO寄存器概览
各模块的寄存器偏移地址中变量的取值范围和含义如表13-1所示。
| 变量名称 | 取值范围 | 描述 |
|---|---|---|
| m | 0~1 | 发送通道号。 |
| n | 0 | 接收通道号 |
AIAO寄存器概览如表13-2所示。
| 偏移地址 | 名称 | 描述 | 页码 |
|---|---|---|---|
| 0x0000 | AIAO_INT_ENA | AIAO模块中断使能寄存器 | 13-10 |
| 0x0004 | AIAO_INT_STATUS | AIAO模块中断状态寄存器 | 13-11 |
| 0x0008 | AIAO_INT_RAW | AIAO模块原始中断寄存器 | 13-12 |
| 0x0028 | AIAO_SWITCH_RX_BCLK | AIAO I2S RX BCLK SWITCH 配置寄存器 | 13-13 |
| 0x002C | AIAO_SWITCH_TX_BCLK | AIAO I2S TX BCLK SWITCH 配置寄存器 | 13-13 |
| 0x0034 | VHB_OUTSTANDING | VHB_OUTSTANDING配置寄存器 | 13-14 |
| 0x006C | AIAO_MUX_SEL | I2S通路选择控制寄存器 | 13-14 |
| 0x0100 | I2S_CRG_CFG0_00 | I2S00 CRG 配置0号寄存器 | 13-15 |
| 0x0104 | I2S_CRG_CFG1_00 | I2S00 CRG 配置1号寄存器 | 13-16 |
| 0x0140 | I2S_CRG_CFG0_08 | I2S08 CRG 配置0号寄存器 | 13-18 |
| 0x0144 | I2S_CRG_CFG1_08 | I2S08 CRG 配置1号寄存器 | 13-18 |
| 0x0148 | I2S_CRG_CFG0_09 | I2S09 CRG 配置0号寄存器 | 13-20 |
| 0x014C | I2S_CRG_CFG1_09 | I2S09 CRG 配置1号寄存器 | 13-20 |
| 0x1000+0x100×n | RX_IF_ATTRI | 接收通道的接口属性设置寄存器 | 13-22 |
| 0x1004+0x100×n | RX_DSP_CTRL | 接收处理通道的控制寄存器 | 13-25 |
| 0x107C+0x100×n | RX_BUFF_SADDR_HI | 接收通道的DDR缓存起始地址寄存器高32bit | 13-25 |
| 0x1080+0x100×n | RX_BUFF_SADDR_LOW | 接收通道的DDR缓存起始地址寄存器低32bit | 13-26 |
| 0x1084+0x100×n | RX_BUFF_SIZE | 接收通道的DDR缓存大小寄存器 | 13-26 |
| 0x1088+0x100×n | RX_BUFF_WPTR | 接收通道的DDR缓存写地址寄存器 | 13-26 |
| 0x108C+0x100×n | RX_BUFF_RPTR | 接收通道的DDR缓存读地址寄存器 | 13-27 |
| 0x1090+0x100×n | RX_BUFF_ALFULL_TH | 接收通道的DDR缓存几乎满水线寄存器 | 13-27 |
| 0x1094+0x100×n | RX_TRANS_SIZE | 接收通道的数据传输长度寄存器 | 13-28 |
| 0x1098+0x100×n | RX_WPTR_TMP | 上报传输完成中断时,保存接收通道的写地址寄存器 | 13-28 |
| 0x10A0+0x100×n | RX_INT_ENA | 接收通道的中断使能寄存器 | 13-28 |
| 0x10A4+0x100×n | RX_INT_RAW | 接收通道的原始中断寄存器 | 13-29 |
| 0x10A8+0x100×n | RX_INT_STATUS | 接收通道的中断状态寄存器 | 13-30 |
| 0x10AC+0x100×n | RX_INT_CLR | 接收通道的中断清除寄存器 | 13-31 |
| 0x2000+0x100×m | TX_IF_ATTRI | 发送通道的接口属性设置寄存器 | 13-32 |
| 0x2004+0x100×m | TX_DSP_CTRL | 发送处理通道的控制寄存器 | 13-36 |
| 0x207C+0x100×m | TX_BUFF_SADDR_HI | 发送通道的DDR缓存起始地址寄存器高32bit | 13-38 |
| 0x2080+0x100×m | TX_BUFF_SADDR_LOW | 发送通道的DDR缓存起始地址寄存器低32bit | 13-38 |
| 0x2084+0x100×m | TX_BUFF_SIZE | 发送通道的DDR缓存大小寄存器 | 13-38 |
| 0x2088+0x100×m | TX_BUFF_WPTR | 发送通道的DDR缓存写地址寄存器 | 13-39 |
| 0x208C+0x100×m | TX_BUFF_RPTR | 发送通道的DDR缓存读地址寄存器 | 13-39 |
| 0x2090+0x100×m | TX_BUFF_ALEMPTY_TH | 发送通道的DDR缓存几乎空水线寄存器 | 13-40 |
| 0x2094+0x100×m | TX_TRANS_SIZE | 发送通道的数据传输长度寄存器 | 13-40 |
| 0x2098+0x100×m | TX_RPTR_TMP | 上报传输完成中断时,保存发送通道的读地址寄存器 | 13-40 |
| 0x20A0+0x100×m | TX_INT_ENA | 发送通道的中断使能寄存器 | 13-41 |
| 0x20A4+0x100×m | TX_INT_RAW | 发送通道的原始中断寄存器 | 13-42 |
| 0x20A8+0x100×m | TX_INT_STATUS | 发送通道的中断状态寄存器 | 13-43 |
| 0x20AC+0x100×m | TX_INT_CLR | 发送通道的中断清除寄存器 | 13-44 |
AIAO寄存器描述
说明
寄存器描述中的BCLK是位时钟;MCLK是主时钟;FSCLK是采样时钟。
AIAO_INT_ENA
AIAO_INT_ENA为AIAO模块中断使能寄存器。
Offset Address: 0x0000 Total Reset Value: 0x0000_0000
| Bits | Access | Name | Description | Reset |
|---|---|---|---|---|
| [31:29] | - | reserved | 保留。 | 0x0 |
| [28] | RW | timer1_int_ena | TIMER1中断使能,若使能则timer1开始计数,timer1用于计数多少个I2S7采样率时钟上升沿数。 0:不使能; 1:使能。 | 0x0 |
| [27] | RW | timer0_int_ena | TIMER0中断使能,若使能则timer0开始计数,timer0用于计数多少个I2S6采样率时钟上升沿数。 0:不使能; 1:使能。 | 0x0 |
| [26:18] | - | reserved | 保留。 | 0x000 |
| [17] | RW | tx_ch1_int_ena | 发送通道1的中断使能。 0:不使能; 1:使能。 | 0x0 |
| [16] | RW | tx_ch0_int_ena | 发送通道0的中断使能。 0:不使能; 1:使能。 | 0x0 |
| [15:1] | - | reserved | 保留。 | 0x0000 |
| [0] | RW | rx_ch0_int_ena | 接收通道0的中断使能。 0:不使能; 1:使能。 | 0x0 |
AIAO_INT_STATUS
AIAO_INT_STATUS为AIAO模块中断状态寄存器。
Offset Address: 0x0004 Total Reset Value: 0x0000_0000
| Bits | Access | Name | Description | Reset |
|---|---|---|---|---|
| [31:29] | - | reserved | 保留。 | 0x0 |
| [28] | RO | timer1_int_status | TIMER1的中断状态。 0:无中断状态; 1:有中断状态。 | 0x0 |
| [27] | RO | timer0_int_status | TIMER0的中断状态。 0:无中断状态; 1:有中断状态。 | 0x0 |
| [26:18] | - | reserved | 保留。 | 0x000 |
| [17] | RO | tx_ch1_int_status | 发送通道1的中断状态。 0:无中断状态; 1:有中断状态。 | 0x0 |
| [16] | RO | tx_ch0_int_status | 发送通道0的中断状态。 0:无中断状态; 1:有中断状态。 | 0x0 |
| [15:1] | - | reserved | 保留。 | 0x0000 |
| [0] | RO | rx_ch0_int_status | 接收通道0的中断状态。 0:无中断状态; 1:有中断状态。 | 0x0 |
AIAO_INT_RAW
AIAO_INT_RAW为AIAO模块原始中断寄存器。
Offset Address: 0x0008 Total Reset Value: 0x0000_0000
| Bits | Access | Name | Description | Reset |
|---|---|---|---|---|
| [31:29] | - | reserved | 保留。 | 0x0 |
| [28] | RO | timer1_int_raw | TIMER1的原始中断。 0:无原始中断; 1:有原始中断。 | 0x0 |
| [27] | RO | timer0_int_raw | TIMER0的原始中断。 0:无原始中断; 1:有原始中断。 | 0x0 |
| [26:18] | - | reserved | 保留。 | 0x000 |
| [17] | RO | tx_ch1_int_raw | 发送通道1的原始中断。 0:无原始中断; 1:有原始中断。 | 0x0 |
| [16] | RO | tx_ch0_int_raw | 发送通道0的原始中断。 0:无原始中断; 1:有原始中断。 | 0x0 |
| [15:1] | - | reserved | 保留。 | 0x0000 |
| [0] | RO | rx_ch0_int_raw | 接收通道0的原始中断。 0:无原始中断; 1:有原始中断。 | 0x0 |
AIAO_SWITCH_RX_BCLK
AIAO_SWITCH_RX_BCLK为AIAO I2S RX BCLK SWITCH 配置寄存器。
Offset Address: 0x0028 Total Reset Value: 0x7654_3210
| Bits | Access | Name | Description | Reset |
| [31:4] | - | reserved | 保留。 | 0x7654321 |
| [3:0] | RW | inner_bclk_ws_sel_rx_00 | 接收通道0内部BCLK选择。 0x0:选择BCLK0; 0x8:选择BCLK8; 0x9:选择BCLK9; 其他:保留。 | 0x0 |
AIAO_SWITCH_TX_BCLK
AIAO_SWITCH_TX_BCLK为AIAO I2S TX BCLK SWITCH 配置寄存器。
Offset Address: 0x002C Total Reset Value: 0xFEDC_BA98
| Bits | Access | Name | Description | Reset |
|---|---|---|---|---|
| [31:8] | - | reserved | 保留。 | 0xFEDCBA |
| [7:4] | RW | inner_bclk_ws_sel_tx_01 | 发送通道1内部BCLK选择。 0x0:选择BCLK0; 0x8:选择BCLK8; 0x9:选择BCLK9; 其他:保留。 | 0x9 |
| [3:0] | RW | inner_bclk_ws_sel_tx_00 | 发送通道0内部BCLK选择。 0x0:选择BCLK0; 0x8:选择BCLK8; 0x9:选择BCLK9; 其他:保留。 | 0x8 |
VHB_OUTSTANDING
VHB_OUTSTANDING为VHB_OUTSTANDING配置寄存器。
Offset Address: 0x0034 Total Reset Value: 0x0000_0000
| Bits | Access | Name | Description | Reset |
| [31:3] | - | reserved | 保留。 | 0x00000000 |
| [2:0] | RW | vhb_outst_num | VHB OUTSTANDING的个数。 推荐3。 | 0x0 |
AIAO_MUX_SEL
AIAO_MUX_SEL为I2S通路选择控制寄存器。
Offset Address: 0x006C Total Reset Value: 0x0000_0000
| Bits | Access | Name | Description | Reset |
|---|---|---|---|---|
| [31:6] | - | reserved | 保留。 | 0x0000000 |
| [5] | RW | hdmi_tx_sel | HDMI输入数据和时钟选择控制。 0:选择AOP0输出,也对应着选择crg8; 1:选择AOP1输出,也对应着选择crg9。 | 0x0 |
| [4] | RW | codec_tx_sel | DAC输入数据和时钟选择控制。 0:选择AOP0输出,也对应着选择crg8; 1:选择AOP1输出,也对应着选择crg9。 | 0x0 |
| [3] | RW | audio_mclk_sel | 内置Codec_ADC的mclk选择控制。 0:选择crg0的时钟; 1: 选择crg8或crg9的时钟,具体选crg8或者crg9要通过codec_tx_sel来配合选择。 | 0x0 |
| [2] | RW | rx_sd_sel | AIP0数据源选择控制。 0:I2S管脚; 1:内置codec_ADC的输出。 | 0x0 |
| [1] | RW | audio_rx_bclk_sel | 内置Codec_ADC的bclk/fsclk选择控制。 0:选择crg0的时钟 1:选择crg8或者crg9的时钟,这种情况下,adc和dac共时钟,具体选crg8或crg9要通过codec_tx_sel来配合选择。 | 0x0 |
| [0] | RW | pad_tx_en | I2S输出管脚数据和时钟选择控制。 0:选择AOP1输出,也对应着选择crg9; 1:选择AOP0输出,也对应着选择crg8。 | 0x0 |
I2S_CRG_CFG0_00
I2S_CRG_CFG0_00为I2S00 CRG 配置0号寄存器。
Offset Address: 0x0100 Total Reset Value: 0x00AA_AAAA
| Bits | Access | Name | Description | Reset |
|---|---|---|---|---|
| [31:27] | - | reserved | 保留。 | 0x0 |
| [26:0] | RW | aiao_mclk_div | MCLK的分频时钟配置值,配置值为(MCLK/PLL时钟源头频率) × 2^27。 | 0x0AAAAAA |
I2S_CRG_CFG1_00
I2S_CRG_CFG1_00为I2S00 CRG 配置1号寄存器。
Offset Address: 0x0104 Total Reset Value: 0x0000_0131
| Bits | Access | Name | Description | Reset |
|---|---|---|---|---|
| [31:16] | - | reserved | 保留。 | 0x0000 |
| [15] | RW | aiao_ws_en | WS使能。 0:不使能; 1:使能。 | 0x0 |
| [14] | RW | aiao_bclk_en | BCLK使能。 0:不使能; 1:使能。 | 0x0 |
| [13] | RW | aiao_bclkout_pctrl | BCLKOUT的极性控制。 0:正向; 1:反向。 | 0x0 |
| [12] | RW | aiao_bclkin_pctrl | BCLKIN的极性控制。 0:正向; 1:反向。 | 0x0 |
| [11] | RW | aiao_bclk_sel | BCLK/FSCLK选择。 0:时钟从内部产生; 1:时钟从外部输入。 | 0x0 |
| [10] | RW | aiao_bclk_oen | BCLK/FSCLK IO oen控制。 0:BCLK/FSCLK IO 为输出; 1:BCLK/FSCLK IO 为输入。 注意:需要和aiao_bclk_sel配对使用,实现I2S接口主从模式选择。 | 0x0 |
| [9] | RW | aiao_srst_req | 软复位请求。 0:撤消复位; 1:复位。 | 0x0 |
| [8] | RW | aiao_cken | 时钟状态。 0:关闭; 1:打开。 | 0x1 |
| [7] | - | reserved | 保留。 | 0x0 |
| [6:4] | RW | aiao_fsclk_div | 位时钟BCLK与采样时钟FSCLK的分频关系。 000:FSCLK是BCLK的16分频; 001:FSCLK是BCLK的32分频; 010:FSCLK是BCLK的48分频; 011:FSCLK是BCLK的64分频; 100:FSCLK是BCLK的128分频; 101:FSCLK是BCLK的256分频; 其他:FSCLK是BCLK的8分频。 | 0x3 |
| [3:0] | RW | aiao_bclk_div | 主时钟MCLK与位时钟BCLK分频关系。 0x0:BCLK是MCLK的1分频; 0x1:BCLK是MCLK的3分频; 0x2:BCLK是MCLK的2分频; 0x3:BCLK是MCLK的4分频; 0x4:BCLK是MCLK的6分频; 0x5:BCLK是MCLK的8分频; 0x6:BCLK是MCLK的12分频; 0x7:BCLK是MCLK的16分频; 0x8:BCLK是MCLK的24分频; 0x9:BCLK是MCLK的32分频; 0xA:BCLK是MCLK的48分频; 0xB:BCLK是MCLK的64分频; 其他:BCLK是MCLK的8分频。 | 0x1 |
I2S_CRG_CFG0_08
I2S_CRG_CFG0_08为I2S08 CRG 配置0号寄存器。
Offset Address: 0x0140 Total Reset Value: 0x00AA_AAAA
| Bits | Access | Name | Description | Reset |
| [31:27] | - | reserved | 保留。 | 0x0 |
| [26:0] | RW | aiao_mclk_div | MCLK的分频时钟配置值,配置值为(MCLK/PLL时钟源头频率) × 2^27。 | 0x0AAAAAA |
I2S_CRG_CFG1_08
I2S_CRG_CFG1_08为I2S08 CRG 配置1号寄存器。
Offset Address: 0x0144 Total Reset Value: 0x0000_0131
| Bits | Access | Name | Description | Reset |
|---|---|---|---|---|
| [31:16] | - | reserved | 保留。 | 0x0000 |
| [15] | RW | aiao_ws_en | WS使能。 0:不使能; 1:使能。 | 0x0 |
| [14] | RW | aiao_bclk_en | BCLK使能。 0:不使能; 1:使能。 | 0x0 |
| [13] | RW | aiao_bclkout_pctrl | BCLKOUT的极性控制。 0:正向; 1:反向。 | 0x0 |
| [12] | RW | aiao_bclkin_pctrl | BCLKIN的极性控制。 0:正向; 1:反向。 | 0x0 |
| [11] | RW | aiao_bclk_sel | BCLK/FSCLK选择。 0:时钟从内部产生; 1:时钟从外部输入。 | 0x0 |
| [10] | RW | aiao_bclk_oen | BCLK/FSCLK IO oen控制。 0 :BCLK/FSCLK IO 为输出; 1 :BCLK/FSCLK IO 为输入。 注意:需要和aiao_bclk_sel配对使用,实现I2S接口主从模式选择。 | 0x0 |
| [9] | RW | aiao_srst_req | 软复位请求。 0:撤消复位; 1:复位。 | 0x0 |
| [8] | RW | aiao_cken | 时钟状态。 0:关闭; 1:打开。 | 0x1 |
| [7] | - | reserved | 保留。 | 0x0 |
| [6:4] | RW | aiao_fsclk_div | 位时钟BCLK与采样时钟FSCLK的分频关系。 000:FSCLK是BCLK的16分频; 001:FSCLK是BCLK的32分频; 010:FSCLK是BCLK的48分频; 011:FSCLK是BCLK的64分频; 100:FSCLK是BCLK的128分频; 101:FSCLK是BCLK的256分频; 其他:FSCLK是BCLK的8分频。 | 0x3 |
| [3:0] | RW | aiao_bclk_div | 主时钟MCLK与位时钟BCLK分频关系。 0x0:BCLK是MCLK的1分频; 0x1:BCLK是MCLK的3分频; 0x2:BCLK是MCLK的2分频; 0x3:BCLK是MCLK的4分频; 0x4:BCLK是MCLK的6分频; 0x5:BCLK是MCLK的8分频; 0x6:BCLK是MCLK的12分频; 0x7:BCLK是MCLK的16分频; 0x8:BCLK是MCLK的24分频; 0x9:BCLK是MCLK的32分频; 0xA:BCLK是MCLK的48分频; 0xB:BCLK是MCLK的64分频; 其他:BCLK是MCLK的8分频。 | 0x1 |
I2S_CRG_CFG0_09
I2S_CRG_CFG0_09为I2S09 CRG 配置0号寄存器。
Offset Address: 0x0148 Total Reset Value: 0x00AA_AAAA
| Bits | Access | Name | Description | Reset |
| [31:27] | - | reserved | 保留。 | 0x0 |
| [26:0] | RW | aiao_mclk_div | MCLK的分频时钟配置值,配置值为(MCLK/PLL时钟源头频率) × 2^27。 | 0x0AAAAAA |
I2S_CRG_CFG1_09
I2S_CRG_CFG1_09为I2S09 CRG 配置1号寄存器。
Offset Address: 0x014C Total Reset Value: 0x0000_0131
| Bits | Access | Name | Description | Reset |
|---|---|---|---|---|
| [31:16] | - | reserved | 保留。 | 0x0000 |
| [15] | RW | aiao_ws_en | WS使能。 0:不使能; 1:使能。 | 0x0 |
| [14] | RW | aiao_bclk_en | BCLK使能。 0:不使能; 1:使能。 | 0x0 |
| [13] | RW | aiao_bclkout_pctrl | BCLKOUT的极性控制。 0:正向; 1:反向。 | 0x0 |
| [12] | RW | aiao_bclkin_pctrl | BCLKIN的极性控制。 0:正向; 1:反向。 | 0x0 |
| [11] | RW | aiao_bclk_sel | BCLK/FSCLK选择。 0:时钟从内部产生; 1:时钟从外部输入。 | 0x0 |
| [10] | RW | aiao_bclk_oen | BCLK/FSCLK IO oen控制。 0 :BCLK/FSCLK IO 为输出; 1 :BCLK/FSCLK IO 为输入。 注意:需要和aiao_bclk_sel配对使用,实现I2S接口主从模式选择。 | 0x0 |
| [9] | RW | aiao_srst_req | 软复位请求。 0:撤消复位; 1:复位。 | 0x0 |
| [8] | RW | aiao_cken | 时钟状态。 0:关闭; 1:打开。 | 0x1 |
| [7] | - | reserved | 保留。 | 0x0 |
| [6:4] | RW | aiao_fsclk_div | 位时钟BCLK与采样时钟FSCLK的分频关系。 000:FSCLK是BCLK的16分频; 001:FSCLK是BCLK的32分频; 010:FSCLK是BCLK的48分频; 011:FSCLK是BCLK的64分频; 100:FSCLK是BCLK的128分频; 101:FSCLK是BCLK的256分频; 其他:FSCLK是BCLK的8分频。 | 0x3 |
| [3:0] | RW | aiao_bclk_div | 主时钟MCLK与位时钟BCLK分频关系。 0x0:BCLK是MCLK的1分频; 0x1:BCLK是MCLK的3分频; 0x2:BCLK是MCLK的2分频; 0x3:BCLK是MCLK的4分频; 0x4:BCLK是MCLK的6分频; 0x5:BCLK是MCLK的8分频; 0x6:BCLK是MCLK的12分频; 0x7:BCLK是MCLK的16分频; 0x8:BCLK是MCLK的24分频; 0x9:BCLK是MCLK的32分频; 0xA:BCLK是MCLK的48分频; 0xB:BCLK是MCLK的64分频; 其他:BCLK是MCLK的8分频。 | 0x1 |
RX_IF_ATTRI
RX_IF_ATTRI为接收通道的接口属性设置寄存器。
Offset Address: 0x1000+0x100×n Total Reset Value: 0xE408_0004
| Bits | Access | Name | Description | Reset |
|---|---|---|---|---|
| [31:30] | - | reserved | 保留。 | 0x3 |
| [29:28] | - | reserved | 保留。 | 0x2 |
| [27:26] | - | reserved | 保留。 | 0x1 |
| [25:24] | - | reserved | 保留。 | 0x0 |
| [23:20] | RW | rx_sd_source_sel | 接收通道的输入接口源选择。 0x0:I2S TX0接口; 0x1:I2S TX1接口; 0x8:I2S RX0接口; 其他:保留。 | 0x0 |
| [19] | - | reserved | 保留。 | 0x1 |
| [18:16] | RW | rx_trackmode | 非时分复用的I2S模式下,左右声道模式控制。 000:不做处理; 001:两个声道全部为左声道声音; 010:两个声道全部为右声道声音; 011:两个声道互换; 100:左右两个声道输出为左右声道相加; 101:左声道静音,右声道播放原右声道声音; 110:右声道静音,左声道播放原左声道声音; 111:左右声道静音。 注意:单声道接收时,trackmode仍然有效。 | 0x0 |
| [15:8] | RW | rx_sd_offset | PCM模式下,数据相对帧同步信号延迟n个BCLK周期。 00000000:0 bit clocks; 00000001:1 bit clocks; 00000010:2 bit clocks; … 11111110:254 bit clocks; 11111111:255 bit clocks。 | 0x00 |
| [7] | RW | rx_multislot_en | 时分复用有效指示位。 0:时分复用模式无效,属于正常模式; 1:时分复用模式有效。 | 0x0 |
| [6] | - | reserved | 保留。 | 0x0 |
| [5:4] | RW | rx_ch_num | 接收的路数选择。 rx_multislot_en = 0 00:1路(ch)接收;(sd0数据线) 01:2路(ch)接收;(sd0数据线) 其他:保留。 rx_multislot_en = 1 时分复用方式下,接收的路数选择。 00:2路接收;(sd0数据线) 01:4路接收;(sd0数据线) 10:8路接收;(sd0数据线) 11:16路接收。(sd0数据线) 注意:多路接收时,只用第0根数据线sd0。 | 0x0 |
| [3:2] | RW | rx_i2s_precision | 数据采样精度配置位。 rx_multislot_en = 0 I2S正常模式: 00:保留; 01:16bit; 10:24bit; 11:保留。 PCM正常模式: 00:8bit; 01:16bit; rx_multislot_en = 1 I2S/PCM模式: 00:8bit; 01:16bit; 其他:保留。 | 0x1 |
| [1:0] | RW | rx_mode | 接收通道的接口模式选择。 00:I2S模式; 01:PCM模式; 其他:保留。 | 0x0 |
RX_DSP_CTRL
RX_DSP_CTRL为接收处理通道的控制寄存器。
Offset Address: 0x1004+0x100×n Total Reset Value: 0x2000_0000
| Bits | Access | Name | Description | Reset |
| [31:30] | - | reserved | 保留。 | 0x0 |
| [29] | RO | rx_disable_done | 接收通道的停止完成标识位。 0:disable未完成; 1:disable完成。 | 0x1 |
| [28] | RW | rx_enable | 接收通道的启动、停止指示位。 0:停止; 1:启动。 | 0x0 |
| [27] | RW | bypass_en | 运算处理bypass,控制功能仍然生效制。 0:bypass功能关闭; 1:bypass功能打开;trackmode功能被bypass | 0x0 |
| [26:0] | - | reserved | 保留。 | 0x0000000 |
RX_BUFF_SADDR_HI
RX_BUFF_SADDR_HI为接收通道的DDR缓存起始地址寄存器高32bit。
Offset Address: 0x107C+0x100×n Total Reset Value: 0x0000_0000
| Bits | Access | Name | Description | Reset |
| [31:0] | RW | rx_buff_saddr_hi | 起始地址的高32bit。 | 0x00000000 |
RX_BUFF_SADDR_LOW
RX_BUFF_SADDR_LOW为接收通道的DDR缓存起始地址寄存器低32bit。
Offset Address: 0x1080+0x100×n Total Reset Value: 0x0000_0000
| Bits | Access | Name | Description | Reset |
| [31:0] | RW | rx_buff_saddr_low | 起始地址的低32bit。 | 0x00000000 |
RX_BUFF_SIZE
RX_BUFF_SIZE为接收通道的DDR缓存大小寄存器。
Offset Address: 0x1084+0x100×n Total Reset Value: 0x0000_0032
| Bits | Access | Name | Description | Reset |
| [31:24] | - | reserved | 保留。 | 0x00 |
| [23:0] | RW | rx_buff_size | 接收通道的DDR缓存大小,以字节为单位。 注意:要求rx_buff_size是32字节的整数倍。 | 0x000032 |
RX_BUFF_WPTR
RX_BUFF_WPTR为接收通道的DDR缓存写地址寄存器。
Offset Address: 0x1088+0x100×n Total Reset Value: 0x0000_0000
| Bits | Access | Name | Description | Reset |
| [31:24] | - | reserved | 保留。 | 0x00 |
| [23:0] | RW | rx_buff_wptr | 接收通道的DDR缓存写地址,以字节为单位。 注意:接收方向的写地址由逻辑维护,是相对于DDR缓存起始地址的偏移地址。要求128×2比特对齐。 | 0x000000 |
RX_BUFF_RPTR
RX_BUFF_RPTR为接收通道的DDR缓存读地址寄存器。
Offset Address: 0x108C+0x100×n Total Reset Value: 0x0000_0000
| Bits | Access | Name | Description | Reset |
| [31:24] | - | reserved | 保留。 | 0x00 |
| [23:0] | RW | rx_buff_rptr | 接收通道的DDR缓存读地址,以字节为单位。 注意:接收方向的读地址由软件维护,是相对于DDR缓存起始地址的偏移地址。软件按照字节为单位,硬件内部按照32字节对齐操作。 | 0x000000 |
RX_BUFF_ALFULL_TH
RX_BUFF_ALFULL_TH为接收通道的DDR缓存几乎满水线寄存器。
Offset Address: 0x1090+0x100×n Total Reset Value: 0x0000_0000
| Bits | Access | Name | Description | Reset |
| [31:24] | - | reserved | 保留。 | 0x00 |
| [23:0] | RW | rx_buff_alfull_th | 接收通道的DDR缓存几乎满水线,以字节为单位。当DDR缓存可写空间小于几乎满水线时,产生几乎满原始中断。 注意:如果使用rx_alfull_int中断,要求rx_buff_alfull_th配置为16字节的整数倍,且大于或等于0x40。 | 0x000000 |
RX_TRANS_SIZE
RX_TRANS_SIZE为接收通道的数据传输长度寄存器。
Offset Address: 0x1094+0x100×n Total Reset Value: 0x0000_0000
| Bits | Access | Name | Description | Reset |
| [31:24] | - | reserved | 保留。 | 0x00 |
| [23:0] | RW | rx_trans_size | 接收通道,当完成rx_trans_size长度(以字节为单位)的音频数据接收时,产生传输完成中断。 | 0x000000 |
RX_WPTR_TMP
RX_WPTR_TMP为上报传输完成中断时,保存接收通道的写地址寄存器。
Offset Address: 0x1098+0x100×n Total Reset Value: 0x0000_0000
| Bits | Access | Name | Description | Reset |
| [31:24] | - | reserved | 保留。 | 0x00 |
| [23:0] | RO | rx_wptr_tmp | 上报传输完成中断时,保存接收通道的写地址,以字节为单位。 | 0x000000 |
RX_INT_ENA
RX_INT_ENA为接收通道的中断使能寄存器。
Offset Address: 0x10A0+0x100×n Total Reset Value: 0x0000_0000
| Bits | Access | Name | Description | Reset |
| [31:8] | - | reserved | 保留。 | 0x000000 |
| [7] | RW | rx_if_full_lost_int_ena | 接收通道的接口数据满,导致数据丢失的原始中断使能。 0:不使能; 1:使能。 | 0x0 |
| [6] | - | reserved | 保留。 | 0x0 |
| [5] | RW | rx_stop_int_ena | 接收通道的停止中断使能。 0:不使能; 1:使能。 | 0x0 |
| [4] | RW | rx_ififo_full_int_ena | 接收通道的接口fifo上溢中断使能。 0:不使能; 1:使能。 | 0x0 |
| [3] | RW | rx_bfifo_full_int_ena | 接收通道的总线fifo上溢中断使能。 0:不使能; 1:使能。 | 0x0 |
| [2] | RW | rx_alfull_int_ena | 接收通道的DDR缓存几乎满中断使能。 0:不使能; 1:使能。 | 0x0 |
| [1] | RW | rx_full_int_ena | 接收通道的DDR缓存满中断使能。 0:不使能; 1:使能。 | 0x0 |
| [0] | RW | rx_trans_int_ena | 接收通道的传输完成中断使能。 0:不使能; 1:使能。 | 0x0 |
RX_INT_RAW
RX_INT_RAW为接收通道的原始中断寄存器。
Offset Address: 0x10A4+0x100×n Total Reset Value: 0x0000_0020
| Bits | Access | Name | Description | Reset |
| [31:8] | - | reserved | 保留。 | 0x000000 |
| [7] | RO | rx_if_full_lost_int_raw | 接收通道的接口数据满,导致数据丢失的原始中断。 0:无原始中断; 1:有原始中断。 | 0x0 |
| [6] | - | reserved | 保留。 | 0x0 |
| [5] | RO | rx_stop_int_raw | 接收通道的停止原始中断。 0:无原始中断; 1:有原始中断。 | 0x1 |
| [4] | - | reserved | 保留。 | 0x0 |
| [3] | RO | rx_fifo_full_int_raw | 接收通道的总线fifo上溢原始中断。 0:无原始中断; 1:有原始中断。 | 0x0 |
| [2] | RO | rx_alfull_int_raw | 接收通道的DDR缓存几乎满原始中断。 0:无原始中断; 1:有原始中断。 | 0x0 |
| [1] | RO | rx_full_int_raw | 接收通道的DDR缓存满原始中断。 0:无原始中断; 1:有原始中断。 | 0x0 |
| [0] | RO | rx_trans_int_raw | 接收通道的传输完成原始中断。 0:无原始中断; 1:有原始中断。 | 0x0 |
RX_INT_STATUS
RX_INT_STATUS为接收通道的中断状态寄存器。
Offset Address: 0x10A8+0x100×n Total Reset Value: 0x0000_0000
| Bits | Access | Name | Description | Reset |
|---|---|---|---|---|
| [31:8] | - | reserved | 保留。 | 0x000000 |
| [7] | RO | tx_if_full_lost_int_status | 接收通道的接口数据满,导致数据丢失的中断状态。 0:无中断状态; 1:有中断状态。 | 0x0 |
| [6] | - | reserved | 保留。 | 0x0 |
| [5] | RO | rx_stop_int_status | 接收通道的停止中断状态。 0:无中断状态; 1:有中断状态。 | 0x0 |
| [4] | RO | rx_ififo_full_int_status | 接收通道的接口fifo上溢中断状态。 0:无中断状态; 1:有中断状态。 | 0x0 |
| [3] | RO | rx_bfifo_full_int_status | 接收通道的总线fifo上溢中断状态。 0:无中断状态; 1:有中断状态。 | 0x0 |
| [2] | RO | rx_alfull_int_status | 接收通道的DDR缓存几乎满中断状态。 0:无中断状态; 1:有中断状态。 | 0x0 |
| [1] | RO | rx_full_int_status | 接收通道的DDR缓存满中断状态。 0:无中断状态; 1:有中断状态。 | 0x0 |
| [0] | RO | rx_trans_int_status | 接收通道的传输完成中断状态。 0:无中断状态; 1:有中断状态。 | 0x0 |
RX_INT_CLR
RX_INT_CLR为接收通道的中断清除寄存器。
Offset Address: 0x10AC+0x100×n Total Reset Value: 0x0000_0000
| Bits | Access | Name | Description | Reset |
|---|---|---|---|---|
| [31:8] | - | reserved | 保留。 | 0x000000 |
| [7] | RW | rx_if_full_lost_int_clear | 接收通道的接口数据满丢失中断清除。 0:不清除; 1:清除停止中断。 | 0x0 |
| [6] | - | reserved | 保留。 | 0x0 |
| [5] | RW | rx_stop_int_clear | 接收通道的停止中断清除位。 0:不清除; 1:清除停止中断。 | 0x0 |
| [4] | RW | rx_ififo_full_int_clear | 接收通道的接口fifo上溢中断清除位。 0:不清除; 1:清除fifo上溢中断。 | 0x0 |
| [3] | RW | rx_bfifo_full_int_clear | 接收通道的总线fifo上溢中断清除位。 0:不清除; 1:清除fifo上溢中断。 | 0x0 |
| [2] | RW | rx_alfull_int_clear | 接收通道的DDR缓存几乎满中断清除位。 0:不清除; 1:清除DDR缓存几乎满中断。 | 0x0 |
| [1] | RW | rx_full_int_clear | 接收通道的DDR缓存满中断清除位。 0:不清除; 1:清除DDR缓存满中断。 | 0x0 |
| [0] | WO | rx_trans_int_clear | 接收通道的传输完成中断清除位。 0:不清除; 1:清除传输完成中断。 | 0x0 |
TX_IF_ATTRI
TX_IF_ATTRI为发送通道的接口属性设置寄存器。
Offset Address: 0x2000+0x100×m Total Reset Value: 0xE400_0004
| Bits | Access | Name | Description | Reset |
|---|---|---|---|---|
| [31:30] | RW | tx_sd3_sel | 发送通道SD线第3bit位连接接收通道SD线的bit位选择。 00:SD0; 01:SD1; 10:SD2; 11:SD3。 注意:先选择通道,然后选择数据线。 | 0x3 |
| [29:28] | RW | tx_sd2_sel | 发送通道SD线第2bit位连接接收通道SD线的bit位选择。 00:SD0; 01:SD1; 10:SD2; 11:SD3。 注意:先选择通道,然后选择数据线 | 0x2 |
| [27:26] | RW | tx_sd1_sel | 发送通道SD线第1bit位连接接收通道SD线的bit位选择。 00:SD0; 01:SD1; 10:SD2; 11:SD3。 注意:先选择通道,然后选择数据线 | 0x1 |
| [25:24] | RW | tx_sd0_sel | 发送通道SD线第0bit位连接接收通道SD线的bit位选择。 00:SD0; 01:SD1; 10:SD2; 11:SD3。 注意:先选择通道,然后选择数据线 | 0x0 |
| [23:20] | RW | tx_sd_source_sel | TX接口的数据源选择。 0x0:I2S TX0接口; 0x1:I2S TX1接口; 0x8:I2S RX0接口; 其他:保留。 | 0x0 |
| [19] | - | reserved | 保留。 | 0x0 |
| [18:16] | RW | tx_trackmode | 非时分复用的I2S模式下,左右声道模式控制。 000:不做处理; 001:两个声道全部为左声道声音; 010:两个声道全部为右声道声音; 011:两个声道互换; 100:左右两个声道输出为左右声道相加; 101:左声道静音,右声道播放原右声道声音; 110:右声道静音,左声道播放原左声道声音; 111:左右声道静音。 注意:单声道接收时,trackmode仍然有效。 | 0x0 |
| [15:8] | RW | tx_sd_offset | PCM模式下,数据相对帧同步信号延迟n个BCLK周期。 0x00:0 bit clocks; 0x01:1 bit clock; 0x02:2 bit clocks; … 0xFE:254 bitclocks; 0xFF:255 bitclocks。 | 0x00 |
| [7] | RW | tx_multislot_en | 时分复用使能控制位。 0:非时分复用,即:正常模式; 1:时分复用模式; | 0x0 |
| [6] | RW | tx_underflow_ctrl | 欠载时AIAO的输出值。 0:输出0值; 1:输出最后一个数据值。 | 0x0 |
| [5:4] | RW | tx_ch_num | 发送路数选择。 tx_multislot_en = 0 00:1路发送; 01:2路发送; 10:6路发送; 11:8路发送。 其他:保留 tx_multislot_en = 1 分时复用方式下,发送的路数选择。 00:保留; 01:保留; 10:保留; 11:8路发送。 注意:多路发送时,只用第0根数据线sd0。 | 0x0 |
| [3:2] | RW | tx_i2s_precision | 数据采样精度配置位。 I2S正常模式: 00:保留; 01:16bit; 10:24bit; 11:保留。 PCM正常模式: 00:8bit; 01:16bit; 时分复用下(I2S): 00:保留; 01:16bit; 10:24bit; 11:保留。 | 0x1 |
| [1:0] | RW | tx_mode | 发送通道的接口模式选择。 00:I2S模式; 01:PCM模式; 其他:保留。 | 0x0 |
TX_DSP_CTRL
TX_DSP_CTRL为发送处理通道的控制寄存器。
Offset Address: 0x2004+0x100×m Total Reset Value: 0x2000_0000
| Bits | Access | Name | Description | Reset |
|---|---|---|---|---|
| [31:30] | - | reserved | 保留。 | 0x0 |
| [29] | RO | tx_disable_done | 发送通道的停止完成标识。 0:未完成; 1:完成。 | 0x1 |
| [28] | RW | tx_enable | 发送通道的启动、停止指示位。 0:停止; 1:启动。 | 0x0 |
| [27] | RW | bypass_en | 运算处理bypass,控制功能仍然生效制。 0:bypass功能关闭; 1:bypass功能打开;音量控制,trackmode,淡入淡出,等功能被bypass | 0x0 |
| [26:24] | - | reserved | 保留。 | 0x0 |
| [23:20] | RW | fade_out_rate | 淡出速度。 0x0:1 个采样点改变一次; 0x1:2 个采样点改变一次; 0x2:4 个采样点改变一次; 0x3:8 个采样点改变一次; 0x4:16个采样点改变一次; 0x5:32个采样点改变一次; 0x6:64个采样点改变一次; 0x7:128个采样点改变一次; 其他:保留 | 0x0 |
| [19:16] | RW | fade_in_rate | 淡入速度。 0x0:1 个采样点改变一次; 0x1:2 个采样点改变一次; 0x2:4 个采样点改变一次; 0x3:8 个采样点改变一次; 0x4:16个采样点改变一次; 0x5:32个采样点改变一次; 0x6:64个采样点改变一次; 0x7:128个采样点改变一次; 其他:保留 | 0x0 |
| [15] | - | reserved | 保留。 | 0x0 |
| [14:8] | RW | volume | 音量。 0x00~0x28:静音; 0x29:–80dB ; …… 0x7E:+5dB; 0x7F:+6dB。 | 0x00 |
| [7:2] | - | reserved | 保留。 | 0x00 |
| [1] | RW | mute_fade_en | 静音淡入淡出控制。 0:淡入淡出功能关闭; 1:淡入淡出功能打开; | 0x0 |
| [0] | RW | mute_en | 静音控制。 0:静音撤销; 1:静音使能; | 0x0 |
TX_BUFF_SADDR_HI
TX_BUFF_SADDR_HI为发送通道的DDR缓存起始地址寄存器高32bit。
Offset Address: 0x207C+0x100×m Total Reset Value: 0x0000_0000
| Bits | Access | Name | Description | Reset |
| [31:0] | RW | tx_buff_saddr_hi | 发送通道的DDR缓存起始地址,以字节为单位。 注意:DDR缓存起始地址要求128×2比特对齐。 | 0x00000000 |
TX_BUFF_SADDR_LOW
TX_BUFF_SADDR_LOW为发送通道的DDR缓存起始地址寄存器低32bit。
Offset Address: 0x2080+0x100×m Total Reset Value: 0x0000_0000
| Bits | Access | Name | Description | Reset |
| [31:0] | RW | tx_buff_saddr_low | 发送通道的DDR缓存起始地址,以字节为单位。 注意:DDR缓存起始地址要求128×2比特对齐。 | 0x00000000 |
TX_BUFF_SIZE
TX_BUFF_SIZE为发送通道的DDR缓存大小寄存器。
Offset Address: 0x2084+0x100×m Total Reset Value: 0x0000_0000
| Bits | Access | Name | Description | Reset |
| [31:24] | - | reserved | 保留。 | 0x00 |
| [23:0] | RW | tx_buff_size | 发送通道的DDR缓存大小,以字节为单位。 注意:要求tx_buff_size是32字节的整数倍 | 0x000000 |
TX_BUFF_WPTR
TX_BUFF_WPTR为发送通道的DDR缓存写地址寄存器。
Offset Address: 0x2088+0x100×m Total Reset Value: 0x0000_0000
| Bits | Access | Name | Description | Reset |
|---|---|---|---|---|
| [31:24] | - | reserved | 保留。 | 0x00 |
| [23:0] | RW | tx_buff_wptr | 发送通道的DDR缓存写地址。 注意:发送方向的写地址由软件维护,是相对于DDR缓存起始地址的偏移地址。 1. 软件必须保证TX_BUF空闲空间不小于32字节。 2. 软件按照字节为单位,硬件内部按照32字节对齐操作。 | 0x000000 |
TX_BUFF_RPTR
TX_BUFF_RPTR为发送通道的DDR缓存读地址寄存器。
Offset Address: 0x208C+0x100×m Total Reset Value: 0x0000_0000
| Bits | Access | Name | Description | Reset |
| [31:24] | - | reserved | 保留。 | 0x00 |
| [23:0] | RW | tx_buff_rptr | 发送通道的DDR缓存读地址。 注意:发送方向的读地址由逻辑维护,是相对于DDR缓存起始地址的偏移地址。要求128×2比特对齐。 | 0x000000 |
TX_BUFF_ALEMPTY_TH
TX_BUFF_ALEMPTY_TH为发送通道的DDR缓存几乎空水线寄存器。
Offset Address: 0x2090+0x100×m Total Reset Value: 0x0000_0000
| Bits | Access | Name | Description | Reset |
| [31:24] | - | reserved | 保留。 | 0x00 |
| [23:0] | RW | tx_buff_alempty_th | 发送通道的DDR缓存几乎空水线,以字节为单位。当DDR缓存可读空间小于几乎空水线时,产生几乎空原始中断。 注意:如果使用tx_alempty_int中断,要求tx_buff_alempty_th配置为16字节的整数倍,且大于或等于0x20。 | 0x000000 |
TX_TRANS_SIZE
TX_TRANS_SIZE为发送通道的数据传输长度寄存器。
Offset Address: 0x2094+0x100×m Total Reset Value: 0x0000_0000
| Bits | Access | Name | Description | Reset |
| [31:24] | - | reserved | 保留。 | 0x00 |
| [23:0] | RW | tx_trans_size | 发送通道,当完成tx_trans_size长度(以字节为单位)的音频数据发送时,产生传输完成中断。 | 0x000000 |
TX_RPTR_TMP
TX_RPTR_TMP为上报传输完成中断时,保存发送通道的读地址寄存器。
Offset Address: 0x2098+0x100×m Total Reset Value: 0x0000_0000
| Bits | Access | Name | Description | Reset |
| [31:24] | - | reserved | 保留。 | 0x00 |
| [23:0] | RO | tx_rptr_tmp | 上报传输完成中断时,保存发送通道的读地址,以字节为单位。 | 0x000000 |
TX_INT_ENA
TX_INT_ENA为发送通道的中断使能寄存器。
Offset Address: 0x20A0+0x100×m Total Reset Value: 0x0000_0000
| Bits | Access | Name | Description | Reset |
|---|---|---|---|---|
| [31:8] | - | reserved | 保留。 | 0x000000 |
| [7] | RW | tx_dat_break_int_ena | 发送通道的接口数据断流中断使能。 0:不使能; 1:使能。 | 0x0 |
| [6] | RW | tx_mfade_int_ena | 发送通道的静音淡入淡出完成中断使能。 0:不使能; 1:使能。 | 0x0 |
| [5] | RW | tx_stop_int_ena | 发送通道的停止中断使能。 0:不使能; 1:使能。 | 0x0 |
| [4] | RW | tx_ififo_empty_int_ena | 发送通道的接口fifo下溢中断使能。 0:不使能; 1:使能。 | 0x0 |
| [3] | RW | tx_bfifo_empty_int_ena | 发送通道的总线fifo下溢中断使能。 0:不使能; 1:使能。 | 0x0 |
| [2] | RW | tx_alempty_int_ena | 发送通道的DDR缓存几乎空中断使能。 0:不使能; 1:使能。 | 0x0 |
| [1] | RW | tx_empty_int_ena | 发送通道的DDR缓存空中断使能。 0:不使能; 1:使能。 | 0x0 |
| [0] | RW | tx_trans_int_ena | 发送通道的传输完成中断使能。 0:不使能; 1:使能。 | 0x0 |
TX_INT_RAW
TX_INT_RAW为发送通道的原始中断寄存器。
Offset Address: 0x20A4+0x100×m Total Reset Value: 0x0000_0000
| Bits | Access | Name | Description | Reset |
|---|---|---|---|---|
| [31:8] | - | reserved | 保留。 | 0x000000 |
| [7] | RO | tx_dat_break_int_raw | 发送通道的接口数据断流原始中断。 0:无原始中断; 1:有原始中断。 | 0x0 |
| [6] | RO | tx_mfade_int_raw | 发送通道的静音淡入淡出完成原始中断。 0:无原始中断; 1:有原始中断。 | 0x0 |
| [5] | RO | tx_stop_int_raw | 发送通道的停止原始中断。 0:无原始中断; 1:有原始中断。 | 0x0 |
| [4] | RO | tx_ififo_empty_int_raw | 发送通道的接口fifo下溢原始中断。 0:无原始中断; 1:有原始中断。 | 0x0 |
| [3] | RO | tx_bfifo_empty_int_raw | 发送通道的总线fifo下溢原始中断。 0:无原始中断; 1:有原始中断。 | 0x0 |
| [2] | RO | tx_alempty_int_raw | 发送通道的DDR缓存几乎空原始中断。 0:无原始中断; 1:有原始中断。 | 0x0 |
| [1] | RO | tx_empty_int_raw | 发送通道的DDR缓存空原始中断。 0:无原始中断; 1:有原始中断。 | 0x0 |
| [0] | RO | tx_trans_int_raw | 发送通道的传输完成原始中断。 0:无原始中断; 1:有原始中断。 | 0x0 |
TX_INT_STATUS
TX_INT_STATUS为发送通道的中断状态寄存器。
Offset Address: 0x20A8+0x100×m Total Reset Value: 0x0000_0000
| Bits | Access | Name | Description | Reset |
|---|---|---|---|---|
| [31:8] | - | reserved | 保留。 | 0x000000 |
| [7] | RO | tx_dat_break_int_status | 发送通道的接口数据断流中断状态。 0:无中断状态; 1:有中断状态。 | 0x0 |
| [6] | RO | tx_mfade_int_status | 发送通道的静音淡入淡出完成中断状态位。 0:无中断状态; 1:有中断状态。 | 0x0 |
| [5] | RO | tx_stop_int_status | 发送通道的停止中断状态。 0:无中断状态; 1:有中断状态。 | 0x0 |
| [4] | RO | tx_ififo_empty_int_status | 发送通道的接口fifo下溢中断状态。 0:无中断状态; 1:有中断状态。 | 0x0 |
| [3] | RO | tx_bfifo_empty_int_status | 发送通道的总线fifo下溢中断状态。 0:无中断状态; 1:有中断状态。 | 0x0 |
| [2] | RO | tx_alempty_int_status | 发送通道的DDR缓存几乎空中断状态。 0:无中断状态; 1:有中断状态。 | 0x0 |
| [1] | RO | tx_empty_int_status | 发送通道的DDR缓存空中断状态。 0:无中断状态; 1:有中断状态。 | 0x0 |
| [0] | RO | tx_trans_int_status | 发送通道的传输完成中断状态。 0:无中断状态; 1:有中断状态。 | 0x0 |
TX_INT_CLR
TX_INT_CLR为发送通道的中断清除寄存器。
Offset Address: 0x20AC+0x100×m Total Reset Value: 0x0000_0000
| Bits | Access | Name | Description | Reset |
|---|---|---|---|---|
| [31:8] | - | reserved | 保留。 | 0x000000 |
| [7] | RW | tx_dat_break_int_clear | 发送通道的接口数据断流中断清除。 0:不清除; 1:清除原始中断。 | 0x0 |
| [6] | RW | tx_mfade_int_clear | 发送通道的静音淡入淡出完成中断清除位。 0:不清除; 1:清除停止中断。 | 0x0 |
| [5] | RW | tx_stop_int_clear | 发送通道的停止中断清除位。0:不清除; 1:清除停止中断。 | 0x0 |
| [4] | RW | tx_ififo_empty_int_clear | 发送通道的接口fifo下溢中断清除位。 0:不清除; 1:清除fifo下溢中断。 | 0x0 |
| [3] | RW | tx_bfifo_empty_int_clear | 发送通道的总线fifo下溢中断清除位。 0:不清除; 1:清除fifo下溢中断。 | 0x0 |
| [2] | RW | tx_alempty_int_clear | 发送通道的DDR缓存几乎空中断清除位。 0:不清除; 1:清除DDR缓存几乎空中断。 | 0x0 |
| [1] | RW | tx_empty_int_clear | 发送通道的DDR缓存空中断清除位。 0:不清除; 1:清除DDR缓存空中断。 | 0x0 |
| [0] | RW | tx_trans_int_clear | 发送通道的传输完成中断清除位。 0:不清除; 1:清除传输完成中断。 | 0x0 |
Audio Codec
概述
芯片集成高性能的Audio Codec,包括高品质回放DAC(93dB DR A-Weighted),支持1路立体声lineout输出;高品质录音ADC(93dB DR A-Weighted),支持2路单端输入或1路单声道差分输入,麦克风输入支持0~36dB,3dB 步长的增益控制,另外一档Boost gain为20dB。I2S数据接口,支持8kHz到96kHz的标准采样率。
特点
Audio Codec模块有如下特点:
- 93dBA DR DAC, 支持1路立体声lineout输出
- DAC数字音量控制范围:-121dB~6dB,1dB步长
- 93dBA DR ADC, 支持2路单端输入或1路单声道差分输入
- ADC通路模拟音量控制范围:0~36dB,3dB 步长,另外一档Boost gain为20dB
- 提供内部麦克风偏置
- 音频采样率:支持48kHz、44.1kHz、32kHz三个系列的采样率。其中各系列采样率情况如下:
- 32kHz系列采样率包括8kHz、16kHz、32kHz、64kHz;
- 44.1kHz系列采样率包括11.025kHz、22.05kHz、44.1kHz;
- 48kHz系列采样率包括12kHz、24kHz、48kHz、96kHz。
Audio Codec寄存器概览
Audio Codec寄存器概览如表13-3所示。
Audio Codec寄存器概览(基址:0x0_17C4_0000)
| 偏移地址 | 名称 | 描述 | 页码 |
|---|---|---|---|
| 0x0000 | AUDIO_ANA_CTRL_0 | Audio Codec ANA寄存器0 | 13-47 |
| 0x0004 | AUDIO_ANA_CTRL_1 | Audio Codec ANA寄存器1 | 13-50 |
| 0x0008 | AUDIO_ANA_CTRL_2 | Audio Codec ANA寄存器2 | 13-51 |
| 0x000C | AUDIO_ANA_CTRL_3 | Audio Codec ANA寄存器3 | 13-52 |
| 0x0010 | AUDIO_ANA_CTRL_4 | Audio Codec ANA寄存器4 | 13-54 |
| 0x00CC | AUDIO_CTRL_REG_1 | Audio Codec DIG控制寄存器0 | 13-54 |
| 0x00D0 | AUDIO_DAC_REG_0 | Audio Codec DIG控制寄存器1 | 13-56 |
| 0x00D4 | AUDIO_DAC_REG_1 | Audio Codec DIG控制寄存器2 | 13-58 |
| 0x00D8 | AUDIO_ADC_REG_0 | Audio Codec DIG控制寄存器3 | 13-60 |
| 0x00DC | AUDIO_ADC_REG_1 | Audio Codec DIG控制寄存器4 | 13-61 |
Audio Codec寄存器描述
AUDIO_ANA_CTRL_0
AUDIO_ANA_CTRL_0为Audio Codec ANA寄存器0。
Offset Address: 0x0000 Total Reset Value: 0xC080_DEFF
| Bits | Access | Name | Description | Reset |
|---|---|---|---|---|
| [31] | RW | MUTE_LINEIN_R | 右通路输入PGA静音控制。 0:正常工作; 1:信号MUTE。 | 0x1 |
| [30] | RW | PD_CTCM_RX | 上行通路CTCM_BUFFER的上下电控制。 0:正常工作; 1:下电。 | 0x1 |
| [29] | RW | ADCR_GAIN_BOOST | 右通道ADC Boost开关控制。 0:不开Boost; 1:打开Boost=20dB。 | 0x0 |
| [28:24] | RW | LINEIN_R_GAIN | 右通路输入PGA增益控制。 00000:0dB; 00001:3dB; 00010:6dB; … … 01100:36dB。 | 0x00 |
| [23] | RW | MUTE_LINEIN_L | 左通路输入PGA静音控制。 0:正常工作; 1:信号MUTE。 | 0x1 |
| [22] | RW | ADC_DWA_BYPS | ADC的DWA功能控制。 0:打开DWA; 1:关闭DWA。 | 0x0 |
| [21] | RW | ADCL_GAIN_BOOST | 左通路ADC Boost开关控制。 0:不开Boost; 1:打开Boost=20dB。 | 0x0 |
| [20:16] | RW | LINEIN_L_GAIN | 左通路输入PGA增益控制。 00000:0dB; 00001:3dB; 00010:6dB; … … 01100:36dB。 | 0x00 |
| [15] | RW | PD_BIAS_S | 偏置电流产生电路上下电控制。 0:正常工作; 1:下电。 | 0x1 |
| [14] | RW | PD_CTCM | CTCM_BUFFER的上下电控制。 0:正常工作; 1:下电。 | 0x1 |
| [13] | RW | PDB_CTCM_IBIAS | CTCM_BUFFER的偏置电流开关控制 0:无外部偏置电流; 1:正常偏置。 | 0x0 |
| [12] | RW | PD_DAC_VREF_S | DAC_VREF上下电控制。 0:正常工作; 1:下电。 | 0x1 |
| [11] | RW | PD_DACR | 右通路DAC上下电控制。 0:正常工作; 1:下电。 | 0x1 |
| [10] | RW | PD_DACL | 左通路DAC上下电控制。 0:正常工作; 1:下电。 | 0x1 |
| [9] | RW | ANA_LOOP | 模拟环回使能控制。 0:ADC TO DAC Turn Off; 1: ADC TO DAC Turn On。 | 0x1 |
| [8] | - | reserved | 保留。 | 0x0 |
| [7] | - | reserved | 保留。 | 0x1 |
| [6] | RW | PD_MICBIAS1 | MICBIAS1上下电控制。 0:正常工作; 1:下电。 | 0x1 |
| [5] | RW | PD_LINEIN_R | 右通路输入PGA上下电控制。 0:正常工作; 1:下电。 | 0x1 |
| [4] | RW | PD_LINEIN_L | 左通路输入PGA上下电控制。 0:正常工作; 1:下电。 | 0x1 |
| [3] | RW | PD_ADCR | 右通路ADC上下电控制。 0:正常工作; 1:下电。 | 0x1 |
| [2] | RW | PD_ADCL | 左通路ADC上下电控制。 0:正常工作; 1:下电。 | 0x1 |
| [1] | RW | PD_RCTUNE | ADC的RC系数校正电路上下电控制。 0:正常工作; 1:下电。 | 0x1 |
| [0] | RW | PD_VREF_S | VREF上下电控制。 0:正常工作; 1:下电。 | 0x1 |
AUDIO_ANA_CTRL_1
AUDIO_ANA_CTRL_1为Audio Codec ANA寄存器1。
Offset Address: 0x0004 Total Reset Value: 0x0ECE_2900
| Bits | Access | Name | Description | Reset |
|---|---|---|---|---|
| [31] | RW | PU_POP_PULLB_REG_S | 冷上电POP音抑制电路输出节点下拉使能(低电平使能) 0:输出节点下拉到AGND; 1:输出节点下拉释放。 注:此信号需要时钟触发,建议上电完成后,配置流程为:首先配置pop_pu_pullb=1,然后供时钟。 | 0x0 |
| [30:24] | - | reserved | 保留。 | 0x0E |
| [23] | RW | MUTE_DACR | 右通路DAC静音控制。 0:正常工作; 1:信号MUTE。 | 0x1 |
| [22] | RW | MUTE_DACL | 左通路DAC静音控制。 0:正常工作; 1:信号MUTE。 | 0x1 |
| [21] | RW | ADC_RCTUNE_EN | ADC的RC系数校正电路使能控制。 0:不使能; 1:正常工作。 此寄存器为一上升沿触发信号,需要RC校正电路工作时应先配置0,再配置1,系统检测到一个上升沿之后触发RC校正电路工作。 | 0x0 |
| [20:16] | - | reserved | 保留。 | 0x0E |
| [15:14] | - | reserved | 保留。 | 0x0 |
| [13] | RW | ADC_CLK_EDGE_INV_SEL | ADC数据输出时钟沿选择。 0:ADC工作时钟上升沿输出数据; 1:ADC工作时钟下降沿输出数据。 | 0x1 |
| [12:8] | - | reserved | 保留。 | 0x09 |
| [7:4] | RW | LINEIN_R_SEL | 右通路输入PGA输入通道选择。 0101:LINEIN差分输入。 其他:保留。 | 0x0 |
| [3:0] | RW | LINEIN_L_SEL | 左通路输入PGA输入通道选择。 0101:LINEIN差分输入。 其他:保留。 | 0x0 |
AUDIO_ANA_CTRL_2
AUDIO_ANA_CTRL_2为Audio Codec ANA寄存器2。
Offset Address: 0x0008 Total Reset Value: 0x4055_0076
| Bits | Access | Name | Description | Reset |
|---|---|---|---|---|
| [31:16] | - | reserved | 保留。 | 0x4055 |
| [15] | RW | CTRL_CLK_ADC_PH | ADC的工作时钟沿选择(主时钟二分频)。 0:上升沿工作; 1:下降沿工作。 | 0x0 |
| [14] | RW | CTRL_CLK_DAC_PH | DAC的工作时钟沿选择(主时钟二分频)。 0:上升沿工作; 1:下降沿工作。 | 0x0 |
| [13] | RW | CTRL_MCLK_PH | IP的工作时钟沿选择(主时钟)。 0:IP使用主时钟的下降沿; 1:IP使用主时钟的上升沿。 | 0x0 |
| [12:0] | - | reserved | 保留。 | 0x0076 |
AUDIO_ANA_CTRL_3
AUDIO_ANA_CTRL_3为Audio Codec ANA寄存器3。
Offset Address: 0x000C Total Reset Value: 0x3584_B555
| Bits | Access | Name | Description | Reset |
|---|---|---|---|---|
| [31:29] | - | reserved | 保留。 | 0x1 |
| [28] | RW | LINEOUTL_PD_ORG_08 | Lineout左通路上下电控制。 0:正常工作; 1:下电。 | 0x1 |
| [27] | - | reserved | 保留。 | 0x0 |
| [26] | RW | LINEOUTR_PD_ORG | Lineout右通路上下电控制。 0:正常工作; 1:下电。 | 0x1 |
| [25:16] | - | reserved | 保留。 | 0x184 |
| [15] | RW | RST | ADC输出和DAC输入的复位控制信号。 0:正常工作; 1:复位。 | 0x1 |
| [14] | - | reserved | 保留。 | 0x0 |
| [13:12] | RW | MICBIAS_ADJ | MICBIAS 输出电压选择。 00:1.3V; 01:1.4V; 10:1.5V; 11:1.6V。 | 0x3 |
| [11:10] | RW | IBADJ_DAC_VREF | DAC_VREF的偏置电流调节。 00:3uA; 01:5uA; 10:7uA; 11:10uA。 | 0x1 |
| [9:8] | RW | IBADJ_LINEIN | Linein的偏置电流调节。 00:3uA; 01:5uA; 10:7uA; 11:10uA。 | 0x1 |
| [7:6] | RW | IBADJ_ADC | ADC的偏置电流调节。 00:3uA; 01:5uA; 10:7uA; 11:10uA。 | 0x1 |
| [5:4] | RW | IBADJ_DAC | Lineout的偏置电流调节。 00:3uA; 01:5uA; 10:7uA; 11:10uA。 | 0x1 |
| [3:2] | RW | IBADJ_CTCM | CTCM_BUFFER的偏置电流调节。 00:3uA; 01:5uA; 10:7uA; 11:10uA。 | 0x1 |
| [1:0] | RW | IBADJ_MICBIAS | MICBIAS的偏置电流调节。 00:3uA; 01:5uA; 10:7uA; 11:10uA。 | 0x1 |
AUDIO_ANA_CTRL_4
AUDIO_ANA_CTRL_4为Audio Codec ANA寄存器4。
Offset Address: 0x0010 Total Reset Value: 0x8AFF_0000
| Bits | Access | Name | Description | Reset |
| [31:30] | - | reserved | 保留。 | 0x2 |
| [29] | RW | RSTB_DAC | DAC输入的复位控制信号。 0:复位; 1:正常工作。 | 0x0 |
| [28] | RW | PDB_DAC_CLK | DAC时钟开关控制。 0:关闭; 1:打开。 | 0x0 |
| [27:0] | - | reserved | 保留。 | 0xAFF0000 |
AUDIO_CTRL_REG_1
AUDIO_CTRL_REG_1为Audio Codec DIG控制寄存器0。
Offset Address: 0x00CC Total Reset Value: 0x00F3_5A4A
| Bits | Access | Name | Description | Reset |
|---|---|---|---|---|
| [31] | RW | dacl_rst_n | DACL复位信号。 0:复位有效; 1:复位无效。 | 0x0 |
| [30] | RW | dacr_rst_n | DACR复位信号。 0:复位有效; 1:复位无效。 | 0x0 |
| [29] | RW | adcl_rst_n | ADCL复位信号。 0:复位有效; 1:复位无效。 | 0x0 |
| [28] | RW | adcr_rst_n | ADCR复位信号。 0:复位有效; 1:复位无效。 | 0x0 |
| [27] | RW | dacl_en | DACL使能信号。 0:不使能; 1:使能。 | 0x0 |
| [26] | RW | dacr_en | DACR使能信号。 0:不使能; 1:使能。 | 0x0 |
| [25] | RW | adcl_en | ADCL使能信号。 0:不使能; 1:使能。 | 0x0 |
| [24] | RW | adcr_en | ADCR使能信号。 0:不使能; 1:使能。 | 0x0 |
| [23:22] | RW | i2s1_data_bits | I2S通道数据接口宽度。 00:16bit; 01:保留; 10:保留; 11:24bit。 | 0x3 |
| [21:20] | - | reserved | 保留。 | 0x3 |
| [19] | RW | dig_bypass | 数字部分旁路控制,用于模拟测试模式。 0:数字部分正常工作; 1:数字部分被旁路。 | 0x0 |
| [18] | RW | dig_loop | 数字环回控制信号。 0:数字环回无效; 1:数字环回有效。 | 0x0 |
| [17:13] | RW | i2s1_fs_sel | I2S通道采样率选择。 11000:mclk/512/2; 11001:mclk/256/2; 11010:mclk/128/2; 11011:mclk/64/2; 111xx:mclk/32/2。 | 0x1A |
| [12:0] | - | reserved | 保留。 | 0x1A4A |
AUDIO_DAC_REG_0
AUDIO_DAC_REG_0为Audio Codec DIG控制寄存器1。
Offset Address: 0x00D0 Total Reset Value: 0x0000_0001
| Bits | Access | Name | Description | Reset |
|---|---|---|---|---|
| [31] | RW | smutel | DACL soft-mute控制位。 0:关闭soft-mute; 1:开启soft-mute。 | 0x0 |
| [30] | RW | smuter | DACR soft-mute控制位。 0:关闭soft-mute; 1:开启soft-mute。 | 0x0 |
| [29] | RW | sunmutel | DACL soft-unmute控制位。 0:关闭soft-unmute; 1:开启soft-unmute。 | 0x0 |
| [28] | RW | sunmuter | DACR soft-unmute控制位。 0:关闭soft-unmute; 1:开启soft-unmute。 | 0x0 |
| [27] | RW | dacvu | DAC音量更新控制位。 0:不更新音量; 1:更新音量。 | 0x0 |
| [26:25] | RW | mutel_rate | DACL soft-mute速率控制位。 00:fs/2; 01:fs/8; 10:fs/32; 11:fs/64。 | 0x0 |
| [24:23] | RW | muter_rate | DACR soft-mute速率控制位。 00:fs/2; 01:fs/8; 10:fs/32; 11:fs/64。 | 0x0 |
| [22:21] | RW | dacl_deemph | DACL 去加重控制信号。 00:none; 01:32kHz; 10: 44kHz; 11: 48kHz。 | 0x0 |
| [20:19] | RW | dacr_deemph | DACR 去加重控制信号。 00:none; 01:32kHz; 10: 44kHz; 11: 48kHz。 | 0x0 |
| [18:4] | - | reserved | 保留。 | 0x0000 |
| [3] | RW | dal_i2ssel | DACL I2S接口选择。 0:选择I2S; 1:保留。 | 0x0 |
| [2] | RW | dacl_lrsel | DACL左右声道数据选择。 0:选择左声道; 1:选择右声道。 | 0x0 |
| [1] | RW | dacr_i2ssel | DACR I2S接口选择。 0:选择I2S; 1:保留。 | 0x0 |
| [0] | RW | dacr_lrsel | DACR左右声道数据选择。 0:选择左声道; 1:选择右声道。 | 0x1 |
AUDIO_DAC_REG_1
AUDIO_DAC_REG_1为Audio Codec DIG控制寄存器2。
Offset Address: 0x00D4 Total Reset Value: 0x0606_2424
| Bits | Access | Name | Description | Reset |
|---|---|---|---|---|
| [31] | RW | dacl_mute | DACL数字静音控制。 0:正常工作; 1:静音。 | 0x0 |
| [30:24] | RW | dacl_vol | DACL数字音量控制。 计算公式为:(6-dacl_vol*1)db。 当dacl_vol为0x7F时,DACL数字静音。 0x00: 6dB 0x01: 5dB 0x02: 4dB … 0x7E:-120dB 0x7F:mute | 0x06 |
| [23] | RW | dacr_mute | DACR数字静音控制。 0:正常工作; 1:静音。 | 0x0 |
| [22:16] | RW | dacr_vol | DACR数字音量控制。 计算公式为:(6-dacr_vol*1)db。 当dacr_vol为0x7F时,DACR数字静音。 0x00: 6dB 0x01: 5dB 0x02: 4dB … 0x7E:-120dB 0x7F:mute | 0x06 |
| [15] | RW | dacr2dacl_en | DACR2DACL mixer控制信号。 0:关闭; 1:打开。 | 0x0 |
| [14:8] | RW | dacr2dacl_vol | DACR to DACL 音量控制位 计算公式为:(36-dacr2dacl_vol*1)db。 00:36dB 01:35dB 02:34dB … 7E: -90dB 7F: -91dB | 0x24 |
| [7] | RW | dacl2dacr_en | DACL to DACR mixer控制信号。 0:关闭; 1:打开。 | 0x0 |
| [6:0] | RW | dacl2dacr_vol | DACL to DACR 音量控制位 计算公式为:(36-dacl2dacr_vol*1)db。 00:36dB 01:35dB 02:34dB … 7E:-90dB 7F:-91dB | 0x24 |
AUDIO_ADC_REG_0
AUDIO_ADC_REG_0为Audio Codec DIG控制寄存器3。
Offset Address: 0x00D8 Total Reset Value: 0x1E1E_0001
| Bits | Access | Name | Description | Reset |
|---|---|---|---|---|
| [31] | RW | adcl_mute | ADCL数字静音控制位。 0:ADCL unmute; 1:ADCL mute。 | 0x0 |
| [30:24] | RW | adcl_vol | ADCL 音量控制位。 计算公式:(30-adcl_vol*1)db。 0x00:30dB; 0x01:29dB; 0x02:28dB; … 0x7E:-96dB; 0x7F:-97dB。 | 0x1E |
| [23] | RW | adcr_mute | ADCR数字静音控制位。 0:ADCR不静音; 1:ADCR静音。 | 0x0 |
| [22:16] | RW | adcr_vol | ADCR 音量控制位。 计算公式:(30-adcr_vol*1)db。 0x00:30dB; 0x01:29dB; 0x02:28dB; 0x… 0x7E:-96dB; 0x7F:-97dB。 | 0x1E |
| [15] | RW | adcl_hpf_en | ADCL高通滤波器使能控制。 0:关闭高通滤波器; 1:使能高通滤波器。 | 0x0 |
| [14] | RW | adcr_hpf_en | ADCR高通滤波器使能控制。 0:关闭高通滤波器; 1:使能高通滤波器。 | 0x0 |
| [13:4] | - | reserved | 保留。 | 0x000 |
| [3] | RW | adcl_i2ssel | ADCL I2S接口选择(高优先级)。 0:选择I2S; 1:保留。 | 0x0 |
| [2] | RW | adcl_lrsel | ADCL 左右声道数据选择。 0:选择左声道; 1:选择右声道。 | 0x0 |
| [1] | RW | adcr_i2ssel | ADCR I2S接口选择(低优先级)。 0:选择I2S; 1:保留。 | 0x0 |
| [0] | RW | adcr_lrsel | ADCR 左右声道数据选择。 0:选择左声道; 1:选择右声道。 | 0x1 |
AUDIO_ADC_REG_1
AUDIO_ADC_REG_1为Audio Codec DIG控制寄存器4。
Offset Address: 0x00DC Total Reset Value: 0x2424_2424
| Bits | Access | Name | Description | Reset |
|---|---|---|---|---|
| [31] | RW | adcl2dacl_en | ADCL to DACL mixer控制信号。 0:关闭; 1:打开。 | 0x0 |
| [30:24] | RW | adcl2dacl_vol | ADCL to DACL 音量控制位。 计算公式为:(36-adcl2dacl_vol*1)db。 00:36dB; 01:35dB; 02:34dB; … 7E:-90dB; 7F:-91dB。 | 0x24 |
| [23] | RW | adcr2dacl_en | ADCR to DACL mixer控制信号。 0:关闭; 1:打开。 | 0x0 |
| [22:16] | RW | adcr2dacl_vol | ADCR to DACL 音量控制位。 计算公式为:(36-adcr2dacl_vol*1)db。 00:36dB; 01:35dB; 02:34dB; … 7E:-90dB; 7F:-91dB。 | 0x24 |
| [15] | RW | adcl2dacr_en | ADCL to DACR mixer控制信号。 0:关闭; 1:打开。 | 0x0 |
| [14:8] | RW | adcl2dacr_vol | ADCL to DACR 音量控制位。 计算公式为:(36-adcl2dacr_vol*1)db。 00:36dB; 01:35dB; 02:34dB; … 7E:-90dB; 7F:-91dB。 | 0x24 |
| [7] | RW | adcr2dacr_en | ADCR to DACR mixer控制信号。 0:关闭; 1:打开。 | 0x0 |
| [6:0] | RW | adcr2dacr_vol | ADCR to DACR 音量控制位。 计算公式为:(36-adcr2dacr_vol*1)db。 00:36dB; 01:35dB; 02:34dB; … 7E:-90dB; 7F:-91dB。 | 0x24 |